package com.chuangjiangx.member.score.ddd.domain.model;


import com.chuangjiangx.dddbase.Entity;
import com.chuangjiangx.member.basic.ddd.domain.model.MbrScoreGiftRuleId;
import com.chuangjiangx.member.basic.ddd.domain.model.MbrScoreStreamId;
import com.chuangjiangx.member.basic.ddd.domain.model.MbrStoredStreamId;
import com.chuangjiangx.member.basic.ddd.domain.model.MemberId;
import com.chuangjiangx.member.score.ddd.domain.model.MbrScoreType;
import com.chuangjiangx.domain.shared.model.PayEntry;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

/**
 * 会员积分明细
 */
@Getter
@Setter
@AllArgsConstructor
public class MbrScoreStream extends Entity<MbrScoreStreamId> {

    /**
     * 会员id
     */
    private MemberId memberId;

    /**
     * 本次操作积分
     */
    private Long score;

    /**
     * 积分类型
     */
    private MbrScoreType type;

    /**
     * 充值流水id
     */
    private MbrStoredStreamId mbrStoredStreamId;

    /**
     * 积分兑换规则id
     */
    private MbrScoreGiftRuleId mbrScoreGiftRuleId;

    /**
     * 退款编号
     */
    private String orderRefundNum;

    /**
     * 支付流水单号
     */
    private String orderPayNum;

    /**
     * 交易后可用积分
     */
    private Long postTradingScore;

    /**
     * 明细说明
     */
    private String remark;

    private PayEntry payEntry;

    private Long merchantUserId;

    private Long storeUserId;

    private Long storeId;


}
